import { AdmCarDriveRecordVO, AdmCarDriveRecordForm, AdmCarDriveRecordQuery } from '@/api/general/administration/car/drive/types';

export interface AdmCarApplyVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 部门id
   */
  deptId: string | number;

  /**
   * 部门名称
   */
  deptName: string;

  /**
   * 申请日期
   */
  applyTime: string;

  /**
   * 用车人
   */
  useId: string | number;

  /**
   * 用车人
   */
  useName: string;

  /**
   * 用车事由
   */
  useReason: string;

  /**
   * 出发地点
   */
  departurePlace: string;

  /**
   * 目的地
   */
  destination: string;

  /**
   * 起始里程
   */
  startMileage: number;

  /**
   * 用车时间
   */
  useTime: string;

  /**
   * 返回时间
   */
  backTime: string;


  /**
   * 随行人员id
   */
  entourageId?: string;

  /**
   * 随行人员姓名
   */
  entourageName?: string;

  /**
   * 驾驶人员id
   */
  driverId?: number;

  /**
   * 驾驶人员名称
   */
  driverName?: string;

  /**
   * 车牌（车辆id）
   */
  carId: string | number;
  
  /**
   * 车牌（车辆id）
   */
  carName: string;

  /**
   * 车辆性质（0：私车，1：公车；2：租车）
   */
  carType: number;

  /**
   * 附件上传（图片格式）
   */
  attachmentId?: string;

  
  /**
   * 附件上传（图片格式）
   */
  attachmentName?: string;

  /**
   * 编号
   */
  number: string;

  /**
   * 审批状态
   */
  status: number;

    /**
   * 对应的行驶记录表
   */
  admCarDriveRecordVo: AdmCarDriveRecordVO;   // ✅ 新增

}

export interface AdmCarApplyForm extends BaseEntity {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 部门id
   */
  deptId?: string | number;

  /**
   * 部门名称
   */
  deptName?: string;

  /**
   * 申请日期
   */
  applyTime?: string;

  /**
   * 用车人
   */
  useId?: string | number;

  /**
   * 用车人姓名
   */
  useName?: string;

  /**
   * 用车事由
   */
  useReason?: string;

  /**
   * 出发地点
   */
  departurePlace?: string;

  /**
   * 目的地
   */
  destination?: string;

  /**
   * 起始里程
   */
  startMileage?: number;

  /**
   * 用车时间
   */
  useTime?: string;

  /**
   * 返回时间
   */
  backTime?: string;

  /**
   * 随行人员id
   */
  entourageId?: string;

  /**
   * 随行人员姓名
   */
  entourageName?: string;

  /**
   * 驾驶人员id
   */
  driverId?: number;

  /**
   * 驾驶人员名称
   */
  driverName?: string;

  /**
   * 车牌（车辆id）
   */
  carId?: string | number;

  /**
   * 车辆性质（0：私车，1：公车；2：租车）
   */
  carType?: number;

  /**
   * 附件上传（图片格式）
   */
  attachmentId?: string;

  
  /**
   * 附件上传（图片格式）
   */
  attachmentName?: string;

  /**
   * 编号
   */
  number?: string;

  /**
   * 审批状态
   */
  status?: number;
}

export interface AdmCarApplyQuery extends PageQuery {

  /**
   * 部门id
   */
  deptId?: string | number;

  /**
   * 申请日期
   */
  applyTime?: string;

  /**
   * 用车人
   */
  useId?: string | number;

  /**
   * 用车事由
   */
  useReason?: string;

  /**
   * 出发地点
   */
  departurePlace?: string;

  /**
   * 目的地
   */
  destination?: string;

  /**
   * 起始里程
   */
  startMileage?: number;

  /**
   * 用车时间
   */
  useTime?: string;

  /**
   * 返回时间
   */
  backTime?: string;


  /**
   * 随行人员id
   */
  entourageId?: string;

  /**
   * 随行人员姓名
   */
  entourageName?: string;

  /**
   * 驾驶人员id
   */
  driverId?: number;

  /**
   * 驾驶人员名称
   */
  driverName?: string;

  /**
   * 车牌（车辆id）
   */
  carId?: string | number;

  /**
   * 车辆性质（0：私车，1：公车；2：租车）
   */
  carType?: number;

  /**
   * 附件上传（图片格式）
   */
  attachmentId?: string;

  
  /**
   * 附件上传（图片格式）
   */
  attachmentName?: string;

  /**
   * 编号
   */
  number?: string;

  /**
   * 审批状态
   */
  status?: number;

  /**
   * 负责人意见
   */
  approverIdea?: string | number;

    /**
     * 日期范围参数
     */
    params?: any;
}

export interface RecordItem {
  id?: number;
  number?: string;
  amountAll?: string;
  carApplyId?: string | number;
  name?: string;
  selected?: number;
  disabled?: boolean;
  carReimburseId?: string | number;
  // 其他字段可根据需要扩展
}

export interface RecordGroup {
  totalAmount?: string;
  records?: RecordItem[];
  name?: string;
  minUseTime?: string;
  maxBackTime?: string;
  id?: number;
  type?: string;
  recordIds?: number;
  pid?: number;
  selected?: number;
  disabled?: boolean;
}
